import requests
from config import url, headers_web


class SuperviseEvaluation:
    def __init__(self):
        self.url = url
        self.header_web = headers_web

    @classmethod
    def post_supervision_history(cls, url: str, params=None, headers=headers_web, body=None):
        """
        @Summary:接口-查询理论课听课历史列表信息
        @Description:云课堂管理端-理论课听课管理使用
        :param url: "http://192.168.1.32:8080"
        :param params: {"validCode": "&signKey=123123"} #(md5加密)
        :param headers:{
                        "Content-Type": "application/json",
                        "X-Requested-With": "XMLHttpRequest",
                        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36"
                    }
        :param body:{
                      "collegeId": "string", #学院id
                      "courseName": "string", #课程名称
                      "courseStudentTypeIds": "string",
                      "courseType": integer, #课程类型
                      "evaluationResultId": "string",
                      "isDistinguishCourseStudentType": "string",
                      "listenEndDate": "string",
                      "listenStartDate": "string",
                      "page": 0,
                      "pageSize": 0,
                      "schoolYear": "string",
                      "studentType": 0,
                      "superviseCompanyId": "string",
                      "superviseCompanyName": "string",
                      "superviseName": "string",
                      "supervisionType": 0,
                      "term": 0,
                      "termEndDate": "string",
                      "termStartDate": "string",
                      "userId": "string"
                    }
        :return:{
                  "page": 0,
                  "pageCount": 0,
                  "pageSize": 0,
                  "supervisionEvaluationList": [
                    {
                      "classCompositionName": "string",
                      "className": "string",
                      "classNickName": "string",
                      "collegeName": "string",
                      "courseCode": "string",
                      "courseDate": "string",
                      "courseName": "string",
                      "evaluationIndicatorsId": "string",
                      "experimentalProject": "string",
                      "groupId": "string",
                      "id": "string",
                      "listenDate": "string",
                      "listenResult": "string",
                      "score": 0,
                      "segment": "string",
                      "source": "string",
                      "studentType": "string",
                      "superviseCollegeId": "string",
                      "superviseCollegeName": "string",
                      "superviseName": "string",
                      "superviseNo": "string",
                      "supervisePosition": "string",
                      "supervisionType": "string",
                      "teacherName": "string",
                      "teacherNo": "string",
                      "worst": true
                    }
                  ],
                  "totalCount": 0
                }
        """
